/*
	DefaultLootTables.cpp

	List of all default loot tables used for ships that have no specific drops

	This is just a temporary addition to allow for drops before ships have been given
	full drop tables

	(c)2008 Palestar Inc, Jeff Everett
*/

#include "NounShip.h"
#include "DefaultLootTables.h"
#include "Game/NounEnhancement.h"
#include "Game/NounEnhancementBeam.h"
#include "Game/NounEnhancementWeapon.h"
#include "Game/NounEnhancementShip.h"
#include "Game/NounEnhancementSpecials.h"

std::vector<DefaultLootTables::DefaultLootInfo *>	DefaultLootTables::m_ScoutList;
std::vector<DefaultLootTables::DefaultLootInfo *>	DefaultLootTables::m_EngineerList;
std::vector<DefaultLootTables::DefaultLootInfo *>	DefaultLootTables::m_SupplyList;
std::vector<DefaultLootTables::DefaultLootInfo *>	DefaultLootTables::m_TransportList;
std::vector<DefaultLootTables::DefaultLootInfo *>	DefaultLootTables::m_FrigateList;
std::vector<DefaultLootTables::DefaultLootInfo *>	DefaultLootTables::m_DestroyerList;
std::vector<DefaultLootTables::DefaultLootInfo *>	DefaultLootTables::m_CruiserList;
std::vector<DefaultLootTables::DefaultLootInfo *>	DefaultLootTables::m_DreadList;
std::vector<DefaultLootTables::DefaultLootInfo *>	DefaultLootTables::m_StationList;
bool DefaultLootTables::m_bInitialized = false;


void DefaultLootTables::setup()
{
	// Scout Ship Default Drops
	m_ScoutList.push_back(new DefaultLootInfo(qword(0), 80));	
	m_ScoutList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_MinorBeamAccelerator), 5));	
	m_ScoutList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_MinorBeamCooler), 5));		
	m_ScoutList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_MinorBeamMultiplexer), 5));	
	m_ScoutList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_MinorBeamCondenser), 5));		
	m_ScoutList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_MinorWeaponAccelerator), 5));	
	m_ScoutList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_MinorWeaponCooler), 5));		
	m_ScoutList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_MinorWeaponMultiplexer), 5));	
	m_ScoutList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_MinorWeaponCondenser), 5));	
	m_ScoutList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_MinorThrust), 5));			
	m_ScoutList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_MinorVelocity), 5));			
	m_ScoutList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_MinorTurn), 5));	
	m_ScoutList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_MinorArmor), 5));	
	m_ScoutList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_MinorShield), 5));	

	// Engineer Ship Default Drops
	m_EngineerList.push_back(new DefaultLootInfo(qword(0), 135));	
	m_EngineerList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_MinorBeamAccelerator), 5));	
	m_EngineerList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_MinorBeamCooler), 5));			
	m_EngineerList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_MinorBeamMultiplexer), 5));	
	m_EngineerList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_MinorBeamCondenser), 5));		
	m_EngineerList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_MinorWeaponAccelerator), 5));	
	m_EngineerList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_MinorWeaponCooler), 5));		
	m_EngineerList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_MinorWeaponMultiplexer), 5));	
	m_EngineerList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_MinorWeaponCondenser), 5));	
	m_EngineerList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_MinorThrust), 5));				
	m_EngineerList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_MinorVelocity), 5));			
	m_EngineerList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_MinorTurn), 5));				
	m_EngineerList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_MinorArmor), 5));	
	m_EngineerList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_MinorShield), 5));	
	m_EngineerList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_LimitedBeamAccelerator), 3));	
	m_EngineerList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_FullJumpDrive), 2));	
	m_EngineerList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_LimitedBeamCooler), 3));			
	m_EngineerList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_LimitedBeamMultiplexer), 3));	
	m_EngineerList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_LimitedBeamCondenser), 3));		
	m_EngineerList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_LimitedWeaponAccelerator), 3));	
	m_EngineerList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_LimitedWeaponCooler), 3));		
	m_EngineerList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_LimitedWeaponMultiplexer), 3));	
	m_EngineerList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_LimitedWeaponCondenser), 3));	
	m_EngineerList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_LimitedThrust), 3));				
	m_EngineerList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_LimitedVelocity), 3));			
	m_EngineerList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_LimitedTurn), 3));				
	m_EngineerList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_LimitedArmor), 3));	
	m_EngineerList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_LimitedShield), 3));	


	// Supply Ship Default Drops
	m_SupplyList.push_back(new DefaultLootInfo(qword(0), 135));	
	m_SupplyList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_FullJumpDrive), 2));	
	m_SupplyList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_MinorBeamAccelerator), 5));	
	m_SupplyList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_MinorBeamCooler), 5));		
	m_SupplyList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_MinorBeamMultiplexer), 5));	
	m_SupplyList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_MinorBeamCondenser), 5));	
	m_SupplyList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_MinorWeaponAccelerator), 5));
	m_SupplyList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_MinorWeaponCooler), 5));		
	m_SupplyList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_MinorWeaponMultiplexer), 5));
	m_SupplyList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_MinorWeaponCondenser), 5));	
	m_SupplyList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_MinorThrust), 5));			
	m_SupplyList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_MinorVelocity), 5));			
	m_SupplyList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_MinorTurn), 5));	
	m_SupplyList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_MinorArmor), 5));	
	m_SupplyList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_MinorShield), 5));	
	m_SupplyList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_LimitedBeamAccelerator), 4));	
	m_SupplyList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_LimitedBeamCooler), 4));			
	m_SupplyList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_LimitedBeamMultiplexer), 4));	
	m_SupplyList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_LimitedBeamCondenser), 4));		
	m_SupplyList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_LimitedWeaponAccelerator), 4));	
	m_SupplyList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_LimitedWeaponCooler), 4));		
	m_SupplyList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_LimitedWeaponMultiplexer), 4));	
	m_SupplyList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_LimitedWeaponCondenser), 4));	
	m_SupplyList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_LimitedThrust), 4));				
	m_SupplyList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_LimitedVelocity), 4));			
	m_SupplyList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_LimitedTurn), 4));				
	m_SupplyList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_LimitedArmor), 4));	
	m_SupplyList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_LimitedShield), 4));	


	// Transport Ship Default Drops
	m_TransportList.push_back(new DefaultLootInfo(qword(0), 130));	
	m_TransportList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_FullJumpDrive), 2));	
	m_TransportList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_MinorBeamAccelerator), 5));	
	m_TransportList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_MinorBeamCooler), 5));		
	m_TransportList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_MinorBeamMultiplexer), 5));	
	m_TransportList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_MinorBeamCondenser), 5));		
	m_TransportList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_MinorWeaponAccelerator), 5));	
	m_TransportList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_MinorWeaponCooler), 5));		
	m_TransportList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_MinorWeaponMultiplexer), 5));	
	m_TransportList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_MinorWeaponCondenser), 5));	
	m_TransportList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_MinorThrust), 5));			
	m_TransportList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_MinorVelocity), 5));			
	m_TransportList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_MinorTurn), 5));	
	m_TransportList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_MinorArmor), 5));	
	m_TransportList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_MinorShield), 5));	
	m_TransportList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_LimitedBeamAccelerator), 5));	
	m_TransportList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_LimitedBeamCooler), 5));			
	m_TransportList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_LimitedBeamMultiplexer), 5));	
	m_TransportList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_LimitedBeamCondenser), 5));		
	m_TransportList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_LimitedWeaponAccelerator), 5));	
	m_TransportList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_LimitedWeaponCooler), 5));		
	m_TransportList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_LimitedWeaponMultiplexer), 5));	
	m_TransportList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_LimitedWeaponCondenser), 5));	
	m_TransportList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_LimitedThrust), 5));				
	m_TransportList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_LimitedVelocity), 5));			
	m_TransportList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_LimitedTurn), 5));				
	m_TransportList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_LimitedArmor), 5));	
	m_TransportList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_LimitedShield), 5));	


	// Frigate Ship Default Drops
	m_FrigateList.push_back(new DefaultLootInfo(qword(0), 4000));	
	m_FrigateList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_FullJumpDrive), 25));	
	m_FrigateList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_MinorBeamAccelerator), 100));		
	m_FrigateList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_MinorBeamCooler), 100));			
	m_FrigateList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_MinorBeamMultiplexer), 100));		
	m_FrigateList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_MinorBeamCondenser), 100));		
	m_FrigateList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_MinorWeaponAccelerator), 100));	
	m_FrigateList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_MinorWeaponCooler), 100));		
	m_FrigateList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_MinorWeaponMultiplexer), 100));	
	m_FrigateList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_MinorWeaponCondenser), 100));		
	m_FrigateList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_MinorThrust), 100));				
	m_FrigateList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_MinorVelocity), 100));			
	m_FrigateList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_MinorTurn), 100));	
	m_FrigateList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_MinorArmor), 100));	
	m_FrigateList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_MinorShield), 100));	
	m_FrigateList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_LimitedBeamAccelerator), 75));	
	m_FrigateList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_LimitedBeamCooler), 75));			
	m_FrigateList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_LimitedBeamMultiplexer), 75));	
	m_FrigateList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_LimitedBeamCondenser), 75));		
	m_FrigateList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_LimitedWeaponAccelerator), 75));	
	m_FrigateList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_LimitedWeaponCooler), 75));		
	m_FrigateList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_LimitedWeaponMultiplexer), 75));	
	m_FrigateList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_LimitedWeaponCondenser), 75));	
	m_FrigateList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_LimitedThrust), 75));				
	m_FrigateList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_LimitedVelocity), 75));			
	m_FrigateList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_LimitedTurn), 75));				
	m_FrigateList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_LimitedArmor), 75));	
	m_FrigateList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_LimitedShield), 75));	
	m_FrigateList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_StandardBeamAccelerator), 50));	
	m_FrigateList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_StandardBeamCooler), 50));			
	m_FrigateList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_StandardBeamMultiplexer), 50));	
	m_FrigateList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_StandardBeamCondenser), 50));		
	m_FrigateList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_StandardWeaponAccelerator), 50));	
	m_FrigateList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_StandardWeaponCooler), 50));		
	m_FrigateList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_StandardWeaponMultiplexer), 50));	
	m_FrigateList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_StandardWeaponCondenser), 50));	
	m_FrigateList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_StandardThrust), 50));				
	m_FrigateList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_StandardVelocity), 50));			
	m_FrigateList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_StandardTurn), 50));				
	m_FrigateList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_StandardArmor), 50));	


	// Destroyer Ship Default Drops
	m_DestroyerList.push_back(new DefaultLootInfo(qword(0), 4000));	
	m_DestroyerList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_FullJumpDrive), 25));	
	m_DestroyerList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_MinorBeamAccelerator), 100));		
	m_DestroyerList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_MinorBeamCooler), 100));			
	m_DestroyerList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_MinorBeamMultiplexer), 100));		
	m_DestroyerList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_MinorBeamCondenser), 100));		
	m_DestroyerList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_MinorWeaponAccelerator), 100));	
	m_DestroyerList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_MinorWeaponCooler), 100));		
	m_DestroyerList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_MinorWeaponMultiplexer), 100));	
	m_DestroyerList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_MinorWeaponCondenser), 100));		
	m_DestroyerList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_MinorThrust), 100));				
	m_DestroyerList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_MinorVelocity), 100));			
	m_DestroyerList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_MinorTurn), 100));	
	m_DestroyerList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_MinorArmor), 100));	
	m_DestroyerList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_MinorShield), 100));	
	m_DestroyerList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_LimitedBeamAccelerator), 75));	
	m_DestroyerList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_LimitedBeamCooler), 75));			
	m_DestroyerList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_LimitedBeamMultiplexer), 75));	
	m_DestroyerList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_LimitedBeamCondenser), 75));		
	m_DestroyerList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_LimitedWeaponAccelerator), 75));	
	m_DestroyerList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_LimitedWeaponCooler), 75));		
	m_DestroyerList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_LimitedWeaponMultiplexer), 75));	
	m_DestroyerList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_LimitedWeaponCondenser), 75));	
	m_DestroyerList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_LimitedThrust), 75));				
	m_DestroyerList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_LimitedVelocity), 75));			
	m_DestroyerList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_LimitedTurn), 75));				
	m_DestroyerList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_LimitedArmor), 75));	
	m_DestroyerList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_LimitedShield), 75));	
	m_DestroyerList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_StandardBeamAccelerator), 50));	
	m_DestroyerList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_StandardBeamCooler), 50));			
	m_DestroyerList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_StandardBeamMultiplexer), 50));	
	m_DestroyerList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_StandardBeamCondenser), 50));		
	m_DestroyerList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_StandardWeaponAccelerator), 50));	
	m_DestroyerList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_StandardWeaponCooler), 50));		
	m_DestroyerList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_StandardWeaponMultiplexer), 50));	
	m_DestroyerList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_StandardWeaponCondenser), 50));	
	m_DestroyerList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_StandardThrust), 50));				
	m_DestroyerList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_StandardVelocity), 50));			
	m_DestroyerList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_StandardTurn), 50));				
	m_DestroyerList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_StandardArmor), 50));	

	// Cruiser Ship Default Drops
	m_CruiserList.push_back(new DefaultLootInfo(qword(0), 4000));	
	m_CruiserList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_FullJumpDrive), 25));	
	m_CruiserList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_MinorBeamAccelerator), 100));		
	m_CruiserList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_MinorBeamCooler), 100));			
	m_CruiserList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_MinorBeamMultiplexer), 100));		
	m_CruiserList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_MinorBeamCondenser), 100));		
	m_CruiserList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_MinorWeaponAccelerator), 100));	
	m_CruiserList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_MinorWeaponCooler), 100));		
	m_CruiserList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_MinorWeaponMultiplexer), 100));	
	m_CruiserList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_MinorWeaponCondenser), 100));		
	m_CruiserList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_MinorThrust), 100));				
	m_CruiserList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_MinorVelocity), 100));			
	m_CruiserList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_MinorTurn), 100));	
	m_CruiserList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_MinorArmor), 100));	
	m_CruiserList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_MinorShield), 100));	
	m_CruiserList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_LimitedBeamAccelerator), 75));	
	m_CruiserList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_LimitedBeamCooler), 75));			
	m_CruiserList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_LimitedBeamMultiplexer), 75));	
	m_CruiserList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_LimitedBeamCondenser), 75));		
	m_CruiserList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_LimitedWeaponAccelerator), 75));	
	m_CruiserList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_LimitedWeaponCooler), 75));		
	m_CruiserList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_LimitedWeaponMultiplexer), 75));	
	m_CruiserList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_LimitedWeaponCondenser), 75));	
	m_CruiserList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_LimitedThrust), 75));				
	m_CruiserList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_LimitedVelocity), 75));			
	m_CruiserList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_LimitedTurn), 75));				
	m_CruiserList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_LimitedArmor), 75));	
	m_CruiserList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_LimitedShield), 75));	
	m_CruiserList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_StandardBeamAccelerator), 50));	
	m_CruiserList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_StandardBeamCooler), 50));			
	m_CruiserList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_StandardBeamMultiplexer), 50));	
	m_CruiserList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_StandardBeamCondenser), 50));		
	m_CruiserList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_StandardWeaponAccelerator), 50));	
	m_CruiserList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_StandardWeaponCooler), 50));		
	m_CruiserList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_StandardWeaponMultiplexer), 50));	
	m_CruiserList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_StandardWeaponCondenser), 50));	
	m_CruiserList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_StandardThrust), 50));				
	m_CruiserList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_StandardVelocity), 50));			
	m_CruiserList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_StandardTurn), 50));				
	m_CruiserList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_StandardArmor), 50));	
	m_CruiserList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_ImprovedBeamAccelerator), 25));	
	m_CruiserList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_ImprovedBeamCooler), 25));			
	m_CruiserList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_ImprovedBeamMultiplexer), 25));	
	m_CruiserList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_ImprovedBeamCondenser), 25));		
	m_CruiserList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_ImprovedWeaponAccelerator), 25));	
	m_CruiserList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_ImprovedWeaponCooler), 25));		
	m_CruiserList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_ImprovedWeaponMultiplexer), 25));	
	m_CruiserList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_ImprovedWeaponCondenser), 25));	
	m_CruiserList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_ImprovedThrust), 25));				
	m_CruiserList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_ImprovedVelocity), 25));			
	m_CruiserList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_ImprovedTurn), 25));				
	m_CruiserList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_ImprovedArmor), 25));	
	m_CruiserList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_EnhancedBeamAccelerator), 15));	
	m_CruiserList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_EnhancedBeamCooler), 15));			
	m_CruiserList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_EnhancedBeamMultiplexer), 15));	
	m_CruiserList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_EnhancedBeamCondenser), 15));		
	m_CruiserList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_EnhancedWeaponAccelerator), 15));	
	m_CruiserList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_EnhancedWeaponCooler), 15));		
	m_CruiserList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_EnhancedWeaponMultiplexer), 15));	
	m_CruiserList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_EnhancedWeaponCondenser), 15));	
	m_CruiserList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_EnhancedThrust), 15));				
	m_CruiserList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_EnhancedVelocity), 15));			
	m_CruiserList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_EnhancedTurn), 15));				
	m_CruiserList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_EnhancedArmor), 15));	


	// Dread Ship Default Drops
	m_DreadList.push_back(new DefaultLootInfo(qword(0), 4500));	
	m_DreadList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_FullJumpDrive), 25));	
	m_DreadList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_MinorBeamAccelerator), 100));		
	m_DreadList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_MinorBeamCooler), 100));			
	m_DreadList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_MinorBeamMultiplexer), 100));		
	m_DreadList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_MinorBeamCondenser), 100));		
	m_DreadList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_MinorWeaponAccelerator), 100));	
	m_DreadList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_MinorWeaponCooler), 100));		
	m_DreadList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_MinorWeaponMultiplexer), 100));	
	m_DreadList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_MinorWeaponCondenser), 100));		
	m_DreadList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_MinorThrust), 100));				
	m_DreadList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_MinorVelocity), 100));			
	m_DreadList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_MinorTurn), 100));	
	m_DreadList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_MinorArmor), 100));	
	m_DreadList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_MinorShield), 100));	
	m_DreadList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_LimitedBeamAccelerator), 75));	
	m_DreadList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_LimitedBeamCooler), 75));			
	m_DreadList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_LimitedBeamMultiplexer), 75));	
	m_DreadList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_LimitedBeamCondenser), 75));		
	m_DreadList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_LimitedWeaponAccelerator), 75));	
	m_DreadList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_LimitedWeaponCooler), 75));		
	m_DreadList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_LimitedWeaponMultiplexer), 75));	
	m_DreadList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_LimitedWeaponCondenser), 75));	
	m_DreadList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_LimitedThrust), 75));				
	m_DreadList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_LimitedVelocity), 75));			
	m_DreadList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_LimitedTurn), 75));				
	m_DreadList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_LimitedArmor), 75));	
	m_DreadList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_LimitedShield), 75));	
	m_DreadList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_StandardBeamAccelerator), 50));	
	m_DreadList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_StandardBeamCooler), 50));			
	m_DreadList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_StandardBeamMultiplexer), 50));	
	m_DreadList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_StandardBeamCondenser), 50));		
	m_DreadList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_StandardWeaponAccelerator), 50));	
	m_DreadList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_StandardWeaponCooler), 50));		
	m_DreadList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_StandardWeaponMultiplexer), 50));	
	m_DreadList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_StandardWeaponCondenser), 50));	
	m_DreadList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_StandardThrust), 50));				
	m_DreadList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_StandardVelocity), 50));			
	m_DreadList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_StandardTurn), 50));				
	m_DreadList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_StandardArmor), 50));	
	m_DreadList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_ImprovedBeamAccelerator), 25));	
	m_DreadList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_ImprovedBeamCooler), 25));			
	m_DreadList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_ImprovedBeamMultiplexer), 25));	
	m_DreadList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_ImprovedBeamCondenser), 25));		
	m_DreadList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_ImprovedWeaponAccelerator), 25));	
	m_DreadList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_ImprovedWeaponCooler), 25));		
	m_DreadList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_ImprovedWeaponMultiplexer), 25));	
	m_DreadList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_ImprovedWeaponCondenser), 25));	
	m_DreadList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_ImprovedThrust), 25));				
	m_DreadList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_ImprovedVelocity), 25));			
	m_DreadList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_ImprovedTurn), 25));				
	m_DreadList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_ImprovedArmor), 25));	
	m_DreadList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_EnhancedBeamAccelerator), 15));	
	m_DreadList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_EnhancedBeamCooler), 15));			
	m_DreadList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_EnhancedBeamMultiplexer), 15));	
	m_DreadList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_EnhancedBeamCondenser), 15));		
	m_DreadList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_EnhancedWeaponAccelerator), 15));	
	m_DreadList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_EnhancedWeaponCooler), 15));		
	m_DreadList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_EnhancedWeaponMultiplexer), 15));	
	m_DreadList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_EnhancedWeaponCondenser), 15));	
	m_DreadList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_EnhancedThrust), 15));				
	m_DreadList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_EnhancedVelocity), 15));			
	m_DreadList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_EnhancedTurn), 15));				
	m_DreadList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_EnhancedArmor), 15));	
	m_DreadList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_AdvancedBeamAccelerator), 1));	
	m_DreadList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_AdvancedBeamCooler), 1));			
	m_DreadList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_AdvancedBeamMultiplexer), 1));	
	m_DreadList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_AdvancedBeamCondenser), 1));		
	m_DreadList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_AdvancedWeaponAccelerator), 1));	
	m_DreadList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_AdvancedWeaponCooler), 1));		
	m_DreadList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_AdvancedWeaponMultiplexer), 1));	
	m_DreadList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_AdvancedWeaponCondenser), 1));	
	m_DreadList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_AdvancedThrust), 1));				
	m_DreadList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_AdvancedVelocity), 1));			
	m_DreadList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_AdvancedTurn), 1));				


	// Station Ship Default Drops
	m_StationList.push_back(new DefaultLootInfo(qword(0), 4500));	
	m_StationList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_FullJumpDrive), 25));	
	m_StationList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_MinorBeamAccelerator), 100));		
	m_StationList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_MinorBeamCooler), 100));			
	m_StationList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_MinorBeamMultiplexer), 100));		
	m_StationList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_MinorBeamCondenser), 100));		
	m_StationList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_MinorWeaponAccelerator), 100));	
	m_StationList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_MinorWeaponCooler), 100));		
	m_StationList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_MinorWeaponMultiplexer), 100));	
	m_StationList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_MinorWeaponCondenser), 100));		
	m_StationList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_MinorThrust), 100));				
	m_StationList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_MinorVelocity), 100));			
	m_StationList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_MinorTurn), 100));	
	m_StationList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_MinorArmor), 100));	
	m_StationList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_MinorShield), 100));	
	m_StationList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_LimitedBeamAccelerator), 75));	
	m_StationList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_LimitedBeamCooler), 75));			
	m_StationList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_LimitedBeamMultiplexer), 75));	
	m_StationList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_LimitedBeamCondenser), 75));		
	m_StationList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_LimitedWeaponAccelerator), 75));	
	m_StationList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_LimitedWeaponCooler), 75));		
	m_StationList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_LimitedWeaponMultiplexer), 75));	
	m_StationList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_LimitedWeaponCondenser), 75));	
	m_StationList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_LimitedThrust), 75));				
	m_StationList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_LimitedVelocity), 75));			
	m_StationList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_LimitedTurn), 75));				
	m_StationList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_LimitedArmor), 75));	
	m_StationList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_LimitedShield), 75));	
	m_StationList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_StandardBeamAccelerator), 50));	
	m_StationList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_StandardBeamCooler), 50));			
	m_StationList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_StandardBeamMultiplexer), 50));	
	m_StationList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_StandardBeamCondenser), 50));		
	m_StationList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_StandardWeaponAccelerator), 50));	
	m_StationList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_StandardWeaponCooler), 50));		
	m_StationList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_StandardWeaponMultiplexer), 50));	
	m_StationList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_StandardWeaponCondenser), 50));	
	m_StationList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_StandardThrust), 50));				
	m_StationList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_StandardVelocity), 50));			
	m_StationList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_StandardTurn), 50));				
	m_StationList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_StandardArmor), 50));	
	m_StationList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_ImprovedBeamAccelerator), 25));	
	m_StationList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_ImprovedBeamCooler), 25));			
	m_StationList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_ImprovedBeamMultiplexer), 25));	
	m_StationList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_ImprovedBeamCondenser), 25));		
	m_StationList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_ImprovedWeaponAccelerator), 25));	
	m_StationList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_ImprovedWeaponCooler), 25));		
	m_StationList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_ImprovedWeaponMultiplexer), 25));	
	m_StationList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_ImprovedWeaponCondenser), 25));	
	m_StationList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_ImprovedThrust), 25));				
	m_StationList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_ImprovedVelocity), 25));			
	m_StationList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_ImprovedTurn), 25));				
	m_StationList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_ImprovedArmor), 25));	
	m_StationList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_EnhancedBeamAccelerator), 15));	
	m_StationList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_EnhancedBeamCooler), 15));			
	m_StationList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_EnhancedBeamMultiplexer), 15));	
	m_StationList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_EnhancedBeamCondenser), 15));		
	m_StationList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_EnhancedWeaponAccelerator), 15));	
	m_StationList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_EnhancedWeaponCooler), 15));		
	m_StationList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_EnhancedWeaponMultiplexer), 15));	
	m_StationList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_EnhancedWeaponCondenser), 15));	
	m_StationList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_EnhancedThrust), 15));				
	m_StationList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_EnhancedVelocity), 15));			
	m_StationList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_EnhancedTurn), 15));				
	m_StationList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_EnhancedArmor), 15));	
	m_StationList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_AdvancedBeamAccelerator), 1));	
	m_StationList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_AdvancedBeamCooler), 1));			
	m_StationList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_AdvancedBeamMultiplexer), 1));	
	m_StationList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_AdvancedBeamCondenser), 1));		
	m_StationList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_AdvancedWeaponAccelerator), 1));	
	m_StationList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_AdvancedWeaponCooler), 1));		
	m_StationList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_AdvancedWeaponMultiplexer), 1));	
	m_StationList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_AdvancedWeaponCondenser), 1));	
	m_StationList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_AdvancedThrust), 1));				
	m_StationList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_AdvancedVelocity), 1));			
	m_StationList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_AdvancedTurn), 1));				
	m_StationList.push_back(new DefaultLootInfo(CLASS_KEY(NounEnhancement_AdvancedArmor), 1));	

	m_bInitialized = true;
}

ClassKey DefaultLootTables::GetRandomLoot(NounShip * a_pShip)
{
	// make sure loot tables are initialized
	if(m_bInitialized == false)
		DefaultLootTables::setup();

	// if this ship is controlled by ai, use the Engineer loot table for the default
	// only special ai ships (rare) will drop good enhancements and they are marked 
	// in the m_Drops table of the ship
	//if(a_pShip->userId() == 0)
	//	return m_EngineerList[SelectRandom(m_EngineerList)]->m_classKey;

	switch(a_pShip->type())
	{
	case NounShip::Type::SCOUT:
		return m_ScoutList[SelectRandom(m_ScoutList)]->m_classKey;
	case NounShip::Type::ENGINEER:
		return m_EngineerList[SelectRandom(m_EngineerList)]->m_classKey;
	case NounShip::Type::SUPPLY:
		return m_SupplyList[SelectRandom(m_SupplyList)]->m_classKey;
	case NounShip::Type::TRANSPORT:
		return m_TransportList[SelectRandom(m_TransportList)]->m_classKey;
	case NounShip::Type::FRIGATE:
		return m_FrigateList[SelectRandom(m_FrigateList)]->m_classKey;
	case NounShip::Type::DESTROYER:
		return m_DestroyerList[SelectRandom(m_DestroyerList)]->m_classKey;
	case NounShip::Type::CRUISER:
		return m_CruiserList[SelectRandom(m_CruiserList)]->m_classKey;
	case NounShip::Type::DREAD:
		return m_DreadList[SelectRandom(m_DreadList)]->m_classKey;
	case NounShip::Type::STATION:
		return m_StationList[SelectRandom(m_StationList)]->m_classKey;
	default:
		return m_ScoutList[SelectRandom(m_ScoutList)]->m_classKey;
	}
}

int DefaultLootTables::SelectRandom(std::vector<DefaultLootInfo *> &a_list)
{
	// add up the chances for each loot item
	int nTotalChance = 0;
	for(int i=0;i<(int)a_list.size();i++)
	{
		nTotalChance += a_list[i]->m_nChance;
	}

	// pick a random number between 0 and total chance
	int randomDrop = rand()%nTotalChance;

	int nTotal =0;
	// grab that drop
	for(int i=0;i<(int)a_list.size();i++)
	{
		int nThisValue = nTotal+a_list[i]->m_nChance;
		if(randomDrop >= nTotal && randomDrop <= nThisValue)
		{
			return i;
		}
		nTotal = nThisValue;
	}
	return 0;
}